查看原文
其他

聚焦︱基于用户历史瓦片浏览记录的兴趣点智能搜索方法优化研究

The following article is from 地理信息世界GeomaticsWorld Author 地理信息世界

导读

兴趣点搜索是GIS系统中的核心搜索功能之一,其搜索结果的准确程度直接关系到系统的实用性。传统方法难以顾及用户兴趣,导致查询无法体现个性化。因此,本文提出一种适用于地理信息领域的基于用户历史瓦片浏览记录的兴趣点智能搜索方法,可根据用户的兴趣要求从海量数据源中快速提取出匹配度最高的结果并推送给用户,提高搜索效率,实现搜索的智能化。


兴趣点搜索是GIS系统中的核心搜索功能之一,其搜索结果的准确程度直接关系到系统的实用性。目前,国内外有很多针对兴趣点搜索的研究与成果。钟良伍提出了基于规则的兴趣点搜索算法,但是,若数据库中存在不规则的全称,可能导致错误。张雪虎等提出基于统计模型的中文兴趣点简称检索算法。这种算法由于没有基于分词的全称,且未根据用户特点进行判断,匹配正确率低。岑荣伟等提出了检索结果重排序方法,借助日志信息,构建用户常用查询词集合,用户提交查询请求时,将集合中的内容和搜索结果进行融合,将重新排序后的结果网页呈现给用户;黄萱菁等提出基于VSM的文本过滤系统。Christos等提出根据公用的ODP建立用户个人的子集来区分用户到底关心的是什么,从而得到用户兴趣信息;Fang Liu等提出根据用户的搜索历史建立用户描述文件,用户查询时根据描述文件采用一定方式适当缩小用户搜索范围;Beg等则是根据用户点击搜索结果的顺序、浏览文档的时间、是否打印和保存等行为来分析用户的兴趣。在地理信息领域,兴趣点数据会随着时间进行累积,海量的数据会导致搜索效率日益降低,所以需要一种搜索方法可以根据用户的兴趣要求从海量数据源中快速提取出匹配度最高的结果并推送给用户,提高搜索效率,实现搜索的智能化,然而这些算法并不能达到兴趣点的智能搜索的效果。因此,本文提出一种适用于地理信息领域的基于用户历史瓦片浏览记录的兴趣点智能搜索方法。


一、常规搜索方法


现有研究中,常规的兴趣点搜索方法为基于字符串的分词匹配方法以及基于全文检索的匹配方法。


1.1 基于字符串的分词匹配方法


基于字符串的分词匹配方法又称为基于词典的方法或者机械匹配法,匹配流程如图1所示。


图1 基于字符串的分词匹配方法


首先,对搜索关键词进行地址分词,兴趣点的获取需要对搜索关键词进行拆分并进行语义标准化;然后,根据特定的策略将待拆分的字符串和机器词典中包含的各个词条进行匹配,根据匹配程度计算搜索结果的相关得分;最后,根据相关得分排序获得搜索结果,根据结果匹配相关位置点坐标。


基于字符串的分词匹配方法由于并未考虑用户的兴趣,仅按照分词结果与数据库进行匹配,单一返回搜索结果,致使不同的人群使用相同的检索词却得到相同的搜索结果。因此,及时地了解用户需求并实现用户需求管理和主动推送,对搜索方法提出了更高的要求。


1.2 基于全文检索的匹配方法


全文检索是指计算机索引程序对文章中的每一个词进行扫描并建立索引。在用户查询过程中,检索程序就可以按照之前构建的索引进行查询,然后将查询得到的结果返回给用户的检索方式。基于全文检索的地址匹配模型将地址数据库作为文本库,待匹配的地址作为检索的输入条件实现地址的匹配和查询。


全文检索技术实现的地理编码方法采用分词算法和搜索引擎对数据库建立索引并实现地址的查询和匹配。张林曼等基于开放源代码的全文检索引擎工具包Lucene设计了一种城市地址匹配引擎来解决模糊检索的问题,在按序存储数据源的同时建立一个有序的关键字索引列表,将关键字和记录之间的映射关系储存起来,包括关键字和记录编号的一一对应关系,关键字在记录中出现的次数、频率、位置的映射等。采用全文检索技术实现GIS中的地址定位,通过Lucene构建数据库中存储地址数据的索引。然后,对中文地址分词结果进行检索和评分,按照评分的高低对输出的结果进行排序。计算分数的公式:



式中,tf (t in d )表示检索词t 在文档d 中出现的频率,idf (t )是在倒排文件中检索词t 出现的频率,boost (t.field in d )表示检索字段的加权因子,需要在索引过程中动态设定该值,lengthNorm (t.field in d )是检索字段的标准化值。Lucene 通过式(1)计算检索词匹配于某一文档的评分。

这类模型的特点是需要借助于搜索引擎,但是只局限于关键词的匹配和对应,虽然能够获得较快的匹配速度和较高的匹配效率,但是匹配的准确率相对较低。


二、搜索方法优化及关键技术


根据上述方法的优缺点,本文提出一种基于用户历史瓦片浏览记录的兴趣点智能搜索方法,通过获取和分析用户历史瓦片浏览记录,计算出用户关注的空间热度,并将空间热度作为影响因子对评分算法进行优化。


2.1 空间热度计算


空间热度是指用户对某一区域的关注程度,某区域的空间热度大则表示该区域为用户最有可能关注的区域。本文通过获取用户的历史瓦片调用记录来计算空间热度,具体流程如图2所示。


图2 获取空间热度


1)首先从日志数据库中获取日志数据,对日志数据进行过滤筛选,获得用户调用的网络瓦片服务(WMTS)路径和调用次数。采用Filebeat进行日志收集。由于elastic.co公司对filebeat提供了最全面的支持,使其介入目前普遍应用的分析和检索系统Elasticsearch更为简单,且Filebeat较logstash有更小的资源额外开销,代码量小、优化方便,因此,filebeat方法相较于传统日志的采集具有更优的性能。


2)进行数据过滤,由于filebeat收集到的数据存在信息冗余,需结合Elasticsearch对搜索结果进行二次筛选剔除无效数据。


3)使用Elasticsearch对服务路径进行解析,获得瓦片具体位置、服务分辨率、范围、起始点坐标。通过瓦片浏览记录,能够获取到瓦片名称、路径、缩放等级、行列号、调用次数。根据这些信息计算出对应瓦片的地理坐标。根据地理坐标进行数据库匹配得出所在地区,通过调用次数和调用瓦片所在地名称得到用户关注空间热度。地理坐标计算公式如下:



式中,lon 为中心点纬度值,lat 为中心点精度值,x为瓦片行号,y为瓦片列号,res 为分辨率等级,twidth为瓦片长度,theight 为瓦片宽度,XOrigin 为x轴起始点,YOrigin为y轴起始点。


2.2 评分算法及优化


基于字符串的分词匹配方法使用布尔模型(Boolean model)查找匹配文档,并用实用评分函数(practical scoring function)来计算相关度,根据文档匹配相关性决定结果排名但并不能实现个性化搜索,本文在这个基础上添加了空间热度影响因子对算法进行优化,公式如下:



公式(4)为优化后的评分算法,公式(5)为常用评分算法。coord(q ,d)为协调因子,基于文档中包含查询的项个数。该因子会对包含更多搜索项的文档进行类似AND的加权。


queryNorm 为每个査询的归一化值,指毎个查询项权重的平方和。字段越短,字段的权重越高。词出现在类似标题title这样的字段,比它出现在内容body这样的字段中的相关度更高。字段长度的归一值是字段中词数平方根的倒数。公式如下:



idf(t)为逆向文档频率,是用来衡量项的“唯一”性,是关键词在集合所有文档里出现的频率,频次越高,权重越低。出现频率较高的term具有较低的idf ,出现较少的term 具有较高的idf 。逆向文档频率是索引中文档数量除以所有包含该词的文档数,然后求其对数。计算公式如下:



tf (t in d )是词在文档中出现的频度,频度越高,权重越高。多次提到同一词的字段比只提到1次的更相关。词频的计算为词t 在文档d 的词频(tf)是该词在文档中出现次数的平方根。公式如下:



numk为调用次数。λk为搜索关键词与空间热度之间的匹配程度,Bk为空间热度权值公式如下:



式中,Tk为瓦片k调用次数,Tj 为所有瓦片总调用次数,Bk表示归一权值。


λk 计算公式如下:



式中,o v e r l a p 是检索命中q u e r y 中t e r m 的个数,maxoverlap是query中总共的term个数。


t .getBoost 为查询时候查询项加权。norm (t ,d )为长度相关的加权因子。


三、实验对比与分析


3.1 实验环境与方法


本文实验数据为山东省枣庄市滕州市兴趣点数据,使用Elasticsearch构建索引数据库,采用Web前端技术搭建搜索框架,通过实验数据对本文提出的方法进行实验验证。步骤如下:


Step 1:用Elasticsearch检索出用户的瓦片调用日志数据。


Step 2:对搜索结果进行筛选:过滤调用Tilematrix小于13的瓦片使用记录结果(当用户搜索到符合需求兴趣点时往往会放大地图查看其属性信息,所以当瓦片缩放等级高时对应的兴趣点极有可能是用户感兴趣的,经多次试验以缩放等级13为界限过滤效果最好)。


Step 3:获取调用瓦片的Tilematrix、TileCol、TileRow,计算瓦片所在中心点坐标及瓦片范围。


Step 4:可视化成图,计算Bk和λk,加入兴趣点搜索结果的评分排序中。


Step 5:使用优化的兴趣点搜索方法与基于字符串的分词匹配方法进行对比实验,通过6种不同的检索词进行实验,每一个检索词分别进行50次搜索比较返回结果的情况,计算相应的查准率。


3.2 实验结果与分析


根据上述实验和计算,首先以可视化形式得出空间热力图如图3所示,由图3可看出用户对中心城区的场所关注较高,其空间热度区域位于中心城区。将空间热度加入到本文的优化算法中,使用基于字符串的分词匹配方法和本文算法分别对同一数据进行实验得出查准率对比结果,见表1。


图3 空间热度热力图


表1 采用本搜索方法与基于字符串的分词匹配方法实验数据比较


经过实验两种方法之间的结果对比,该方法在日志数据为空的情况下与基于字符串的分词匹配方法的查准率近乎相同,但随着用户历史瓦片浏览记录数据的积累,优化后的搜索方法效果显著提升而基于字符串的分词匹配方法的效果基本没有变化。说明本文提出的方法可以随着用户的不断使用及根据用户所关注的热点区域为用户推送最大相关结果,使得搜索趋于个性化、智能化。


四、结语


本文得出以下结论:


1)用户的日志数据蕴含网络用户的兴趣信息。基于日志数据的研究可以帮助我们认识并掌握网络用户的真实需求,通过这些瓦片调用记录可以描述出用户的兴趣特征,从而隐式地获取用户兴趣。


2)本文对用户历史瓦片浏览记录进行了研究,引出了一个将空间热度加入搜索方法的优化算法。经过模拟实验对比分析,该方法能够有效地提高搜索的查准率,并且可随着数据量的丰富变得更加智能化。


3)与第一章提到的两种常规搜索方法相比,本文提出的优化搜索方法在保证速度、效率、准确率的同时又能让不同的用户在使用相同的检索词时得到不同的搜索结果,实现兴趣点搜索的智能化需求。


本文通过获取用户空间热度的方法来影响最终搜索结果,但缺少对搜索原理和用户兴趣模型进行深入研究,另外影响搜索结果的因素还有很多,下一步将从搜索算法的原理和结构以及用户模型的形成和应用进行研究,并采用多影响因素结合的方法来优化搜索算法,提高方法可用性,提高兴趣点搜索的搜索质量以及个性化信息服务的效率。

责任编辑:林冬娜、邓小云

文章来源:地理信息世界GeomaticsWorld


点击查看联盟会员单位详


: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存